import { Badge } from '@theme';


# html
<Badge text="breakchange in v3.1.4" type="warning" />

+ Page generation configuration
+ Type: `HtmlType`
```js
export interface HtmlType extends HtmlRspackPluginOptions {
  /**
   * The index.html file path based on project root
   * @default src/index.html
   */
  template?: string
  /**
   * The favicon file path based on project root
   * @default src/favicon.ico
   */
  favicon?: string
  /**
   * Website language
   */
  lang?: string
  /**
   * External files injected into html (breakchange in v3.1.4)
   */
  tags?: {
    type: "js" | "css";
    src?: string;
    content?: string;
    pos?: "head" | "body";
  }[]
}
```
:::tip
Since version 3.1.4, `files` and `tags` have been unified into `tags?: InjectHeadTagsTypeItem[]` configuration
:::
```ts title="emp-config.js"
import {defineConfig} from '@empjs/cli'
export default defineConfig(store => {
  return {
    html: {
      template: 'src/index.html',
    },
  }
})
```




# html
<Badge text="html.files removed in version 3.1.4 and html.tags upgrade in version 3.1.4 " type="warning" />

+ Page generation configuration
+ Type: `HtmlType`
```js
export interface HtmlType extends HtmlRspackPluginOptions {
  files?: {
    /**
     * 插入 css
     */
    css?: string[]
    /**
     * 插入 js
     */
    js?: string[]
  },
  /**
   * Custom head/body tags (requires template configuration)
   */
  tags?: {
    headTags?: any[]
    bodyTags?: any[]
  }
}
```